const path = require('path')
//引入queryString模块，将字符串解析为对象
const querystring = require('querystring')

//引入格式化时间模块
const dateformat = require('dateformat')

// 导入数据对象的构造函数
const Student = require('./student.js')

// 引入模板
const template = require('art-template')
//设置模板路径
template.defaults.root = path.resolve(__dirname, '../views')
//设置模板后缀名
template.defaults.extname = '.art'

//将格式化时间方法传递到子组件
template.defaults.imports.dateformat = dateformat



//1.引入路由模块
const getRouter = require('router')
//2. 获取路由对象
const router = getRouter()

//3.配置路由规则
//添加页面
router.get('/add', (req, res) => {
    const html = template('add', {})

    res.end(html)
})

//信息列表页面
router.get('/list', async (req, res) => {

    //查询所有学生信息
    const stuList = await Student.find({})
    //模板中展示所有信息
    const html = template('stulist', {
        stuList
    })

    //响应到客户端
    res.end(html)
})

//添加学生信息的路由
router.post('/add',  (req, res) => {
    let stuInfo = '';

    //开始接受数据 
    req.on('data', params => {
        stuInfo += params
    })
    
    //完成接受
    req.on('end', async () => {
        //添加学生信息数据到数据库
        await Student.create(querystring.parse(stuInfo))
        res.writeHead('301', {
            Location: '/list'
        })

        res.end()
    })
}) 

module.exports = router